// import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "SQLDataTypeImpl.h"
#include "SQLDataType.h"

class SQLRecordDataType : virtual public SQLDataTypeImpl, virtual public SQLDataType
{
public:
  SQLColumnDefinition_list_ptr columns;

  SHAREDOBJECT(SQLRecordDataType);
  SQLRecordDataType();
  SQLColumnDefinition_list_ptr getColumns();

  void addColumn(SQLColumnDefinition_ptr column);

  SQLObject_ptr clone();

  void accept0(SQLASTVisitor_ptr visitor);
};
